---
sidebar_position: 1
---

# 函数列表

## truncate
字符串截断，如果超过指定长度怎么显示为指定符号

- @param {string} str 带转换的字符串
- @param {number} len 截断后的字符串长度
- @param {string} [omission='...'] 截断后填充的符号
- @return {string} 处理好的字符串

举个例子

```js
import { truncate } from '@jslib-book/utils';

truncate('1234567890', 5); // '12...'
truncate('12345', 5); // '12345'
truncate('1234567890', 8, '[...]'); // '123[...]'
```

## range
最多可接收三个参数，返回变化范围的数组

函数参数和返回值

- param {string|number} start  第一个参数可以是字符串也可以是数字
- param {string|number} [stop] 第二个参数可以是字符串也可以是数字
- param {number} [step] 第三个参数是数字
- return { array }  返回一个在指定变化范围内变化的数组

举个例子

```js
import { range } from '@jslib-book/utils';

range(1, 10) // [1, 2, 3, 4, 5, 6, 7, 8, 9]
range(10, 1) // [10, 9, 8, 7, 6, 5, 4, 3, 2]
range(1, 10, 2)  // [1, 3, 5, 7, 9]
```

## pick
从指定对象中挑选出指定元素，并返回新的对象

参数和返回值

- param {object} obj 对象，如果不是对象，会返回空对象
- param {array} paths 待挑选元素组成的数组，如果不是数组，会返回空对象
- return {object} 新的对象

举个例子

```js
import { pick } from '@jslib-book/utils';

var a1 = { a: 1, b: 2, c: 3};

pick(a1, ['a']) // { a: 1 }
pick(a1, ['a', 'c', 'd']) // { a: 1, c: 3 }
```

## getParam
获取当前URL中的参数

参数和返回值

- param {string} name 要获取的参数名
- param {string} url 要获取参数的url
- return {string} 参数值

举个例子

```js
import { getParam } from '@jslib-book/utils';

getParam('name', '?name=张三&id=123') // '张三'
getParam('name2', '?name=张三&id=123') // ''
```
